﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace IcbcOpenDemo
{
    class SettlementAccountBalanceQueryRequestV1 : AbstractIcbcRequest<SettlementAccountBalanceQueryResponseV1>
    {
        /// <summary>
        /// 获取响应类
        /// </summary>
        /// <returns>返回SettlementAccountBalanceQueryRequestV1类对应的响应类类型</returns>
        public override Type getResponseClass()
        {
            return Type.GetType("sdk_cop.SettlementAccountBalanceQueryResponseV1");
        }
        /// <summary>
        /// SettlementAccountBalanceQueryRequestV1类的构造函数，设置请求URL
        /// </summary>
        public SettlementAccountBalanceQueryRequestV1()
        {
            this.setServiceUrl("https://apipcs3.dccnet.com.cn/api/settlement/account/balance/V1/query");
        }

        /// <summary>
        /// 是否支持加密（目前sdk只支持对字段进行AES加解密）
        /// </summary>
        /// <returns>一般返回false</returns>
        public override Boolean isNeedEncrypt()
        {
            return false;
        }
        /// <summary>
        /// http发起请求方式（支持GET、POST两种方式）
        /// </summary>
        /// <returns>一般返回POST</returns>
        public override String getMethod()
        {
            return "POST";
        }

        /// <summary>
        /// 获取业务类类型
        /// </summary>
        /// <returns>返回request类内部定义的BizContent类的类型</returns>
        public override Type getBizContentClass()
        {
            return Type.GetType("sdk_cop" + ".SettlementAccountBalanceQueryRequestV1+SettlementAccountBalanceQueryRequestV1Biz", true, true);
        }

        #region bizcontent字段
        /// <summary>
        /// 内部业务类，封装需要发送给服务端的业务字段
        /// </summary>
        [DataContract]
        public class SettlementAccountBalanceQueryRequestV1Biz : BizContent
        {
            [DataMember]
            private String corp_no;
            [DataMember]
            private String trx_acc_date;
            [DataMember]
            private String trx_acc_time;
            [DataMember]
            private String corp_date;
            [DataMember]
            private String corp_serno;
            [DataMember]
            private String out_service_code;
            [DataMember]
            private String medium_id;
            [DataMember]
            private int ccy;

            public String getCorpNo()
            {
                return corp_no;
            }
            public void setCorpNo(String value)
            {
                corp_no = value;
            }

            public String getTrxAccDate()
            {
                return trx_acc_date;
            }
            public void settrxAccDate(String value)
            {
                trx_acc_date = value;
            }

            public String getTrxAccTime()
            {
                return trx_acc_time;
            }
            public void setTrxAccTime(String value)
            {
                trx_acc_time = value;
            }

            public String getCorpDate()
            {
                return corp_date;
            }
            public void setCorpDate(String value)
            {
                corp_date = value;
            }

            public String getCorpSerno()
            {
                return corp_serno;
            }
            public void setCorpSerno(String value)
            {
                corp_serno = value;
            }


            public String getOutServiceCode()
            {
                return out_service_code;
            }
            public void setOutServiceCode(String value)
            {
                out_service_code = value;
            }

            public String getMediumId()
            {
                return medium_id;
            }
            public void setMediumId(String value)
            {
                medium_id = value;
            }

            public int getCcy()
            {
                return ccy;
            }
            public void setCcy(int value)
            {
                ccy = value;
            }
        }
        #endregion
    }
}
